home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / ip / nfs / amd / amd-5.2 / text / INSTALL < prev    next >
Encoding:
Text File  |  1990-06-23  |  7.1 KB  |  175 lines

  1. Installation Notes for Amd.
  2.  
  3. NOTE: Please read all of this before starting.
  4.       It is not very long and may save you time in the long term.
  5.  
  6. 1.  ``Getting started...''
  7.  
  8. If you got this release in a shar file then run the shell script Configure in
  9. the top directory.  If you got this release in a tar file then you are all
  10. set (though if you feel left out you can run Configure anyway).
  11.  
  12. 2.  ``Find out what version of UN*X you are running...''
  13.  
  14. To install Amd you need a port for your version of UN*X.  In this directory
  15. are several files called os-*.h.  One of these should correspond to your
  16. version of UN*X.  Look at the comments at the top of each file to determine
  17. which one applies to you.  If none of them do, then either no-one has yet
  18. done a port, or your version of UN*X is so braindead that a port is not
  19. possible (e.g. System V without reliable signals).  Run the program
  20. "config/os-type" in the current directory to see whether you and Amd are in
  21. agreement about your operating system type.  The current known operating
  22. systems (grouped by architecture) are:
  23.  
  24.     acis43            (AOS) ACIS 4.3BSD on an IBM RT
  25.     aix3            AIX 3.1
  26.     aux            Apple A/UX
  27.     bsd44            4.4 BSD on whatever
  28.     concentrix        Concentrix on an Alliant
  29.     fpx4            Celerity FPX 4.1/2
  30.     hlh42            4.2 BSD on HLH Orion 1/05
  31.     hpux            HP-UX 6.* and 7.* on a HP9000/300
  32.     riscix            4.3 BSD on an Acorn Archimedes
  33.     sos3, sos4        SunOS 3.* and 4.* on a Sun-3 and Sun-4
  34.     u2_2            Ultrix 2.2 (or 2.*?) on a VAX (broken)
  35.     u3_0            Ultrix 3.0/4.0 (or 3.*?) on a VAX
  36.     umax43            4.3 BSD on an Encore Multimax
  37.     utx32            UTX/32 Rel2.1a on a Gould (not yet complete)
  38.     xinu43            More/BSD (4.3 BSD) on a VAX or HP9000/300
  39.  
  40.     + some others...
  41.  
  42. If you do define a new operating system type foo, you may care to create a
  43. file called Makefile.foo which defines the special Makefile parameters.
  44.  
  45. 3.  ``Hacking the Makefile...''
  46.  
  47. Some UN*X programs come with a Makefile which has to be manually configured
  48. for your particular operating system and hardware.  However, Amd tries very
  49. hard to determine what type of machine you are using and how best to compile
  50. itself.  If this does not work then you will have to find some heuristic
  51. which can differentiate your configuration.  You may need to edit
  52. "config/arch" and "config/os-type".  If you do make sure your changes can
  53. cope if /etc/motd is missing and please send it to the address below.
  54.  
  55. You may care to tailor some site specific preferences in "Makefile.com".  The
  56. variables most likely to be changes are at the top.  Any changes are best put
  57. in the file Makefile.local (if they are applicable to all operating systems
  58. at your site) or Makefile.local.foo (where foo is the OS type as determined
  59. in part 1).
  60.  
  61. Additionally, some configuration options may be altered in
  62. "config/Makefile.config".  This means that you should not need to edit any
  63. distributed files apart from "config/Makefile.config".  As a minimum, you
  64. should check:
  65.  
  66. * You are using the correct C compiler.  Amd, as shipped, does not use GCC.
  67.   Note that using GCC version 1.34 or later (e.g. 1.36) gives structure
  68.   passing problems with some parts of Sun's RPC library at least on Sun-4's.
  69.   The current workaround is to use the system CC to compile the part of the
  70.   automounter that gets hit by this problem.  [[This is not the same problem
  71.   that is fixed by -fpcc-struct-return.]]  Amd contains no "register"
  72.   declarations, so using old PCC based code generators is probably bad news.
  73.  
  74. * The installation directory (ETC) is set up correctly.
  75.  
  76. * If you are running tests then it may be worth switching on the DEBUG flag
  77.   which will cause a running commentary to be printed to the log file.
  78.  
  79. 4.  ``Build the executable...''
  80.  
  81. Now you need to compile the automounter.  To do this you type:
  82.  
  83.     make
  84.  
  85. If you are porting to a new machine you may want to do:
  86.  
  87.     make OS=foo
  88.  
  89. where foo is the name of your version of UN*X as determined in part 1, until
  90. you have made the changes to config/os-type and/or config/arch.  When the
  91. compilation is complete you will end up with a program called "A.arch_foo/Amd".
  92.  
  93. Try running:
  94.  
  95.     A.arch_foo/amd -v
  96.  
  97. and check the output.  It should look something like:
  98.  
  99.   amd 5.2 of 90/06/23 23:55:04 Rel5.2 #0: Sat Jun 23 16:24:42 PDT 1990
  100.   Built by pendry@okeeffe.Berkeley.EDU for a tahoe running bsd44 (big-endian)
  101.   Map support for: root, passwd, nis, file, error.
  102.  
  103. Make sure the O/S and architecture types were correctly derived during the
  104. build.
  105.  
  106. 5.  ``Installation...''
  107.  
  108. If you are not just testing Amd, then you can install it by typing:
  109.  
  110.     make install
  111.  
  112. to install "A.arch_foo/Amd" in "/usr/local/etc/amd" (or as otherwise
  113. modified in part 2).
  114.  
  115. 6.  ``Update /etc/rpc''
  116.  
  117. Amq uses Sun RPC to talk to Amd using program number 300019 which has
  118. been registered with Sun.  Add the following lines to /etc/rpc or your
  119. YP or Hesiod master:
  120.  
  121. # Automount control protocol
  122. amd    300019    amq
  123.  
  124. 7.  ``Hanging your machine...''
  125.  
  126. WARNING:  THIS MAY HANG YOUR MACHINE IF YOU GET IT WRONG.
  127.  
  128. Running Amd with a carelessly thought out mount map can cause your Amd to
  129. enter a deadlock inside the kernel.  For example, attempting to automount a
  130. directory which is automounted can cause the automounter to issue a mount
  131. request causing the kernel to send an NFS request back to the same automounter,
  132. which is currently stuck in a system call and unable to respond - even
  133. kill -KILL won't get you out of this one.
  134.  
  135. There is nothing you can do to fix it without rebooting your machine, so...
  136.  
  137. Find a diskless workstation and play with that first before trying this on
  138. your main 200 user service machine (unless you hate your users).  Something
  139. like a diskless Sun-4 is best for development testing - you can compile on a
  140. Sun-4 server and run the binary on the diskless node.  They reboot very fast
  141. as well between tests.
  142.  
  143. Now you can try running Amd.  Please read the documentation in doc/Amd.tex
  144. for more details.  The configuration file "a_master" provides a sample for
  145. you to play with.  Something like:
  146.  
  147.     ./amd -c 40 -D test,nodaemon /tmp/amnt a_master &
  148.  
  149. is good for testing.  Note that Amd will clean up correctly if you send it a
  150. SIGINT or SIGTERM.  Other signals are either ignored or will blow it away,
  151. leaving your machine in a potentially dangerous state - usually a reboot is
  152. all that is required to fix it though ;-)
  153.  
  154. Remember that Amd needs to run as root in order to do mounts/unmounts though
  155. it does check this condition somewhere near line one of main().  It will also
  156. need write permission in the working directory if you have built it with
  157. DEBUG defined.  Watch out for NFS stepping in and mapping root to nobody.
  158.  
  159. 8.  ``Report what happened...''
  160.  
  161. If anything interesting happened, eg it didn't work, please report it to me
  162. -- Jan-Simon Pendry <jsp@doc.ic.ac.uk> -- as detailed in the README file.
  163.  
  164. KNOWN PROBLEMS - Contact me for more details
  165.  
  166. * Amd does not work correctly on a DecStation 3100 system running Ultrix 3.1.
  167.   This is a bug in Ultrix.  Quite how the Ultrix mount command works is a
  168.   total mystery, but in any case the mount system call does not behave as
  169.   documented.  Possibly fixed in Ultrix 4.0?
  170.  
  171. * It is reported that amd deadlocks the kernel on a Sequent Symmetry.
  172.   Obviously this is a kernel bug.
  173.  
  174. $Id: INSTALL,v 5.2 90/06/23 22:21:31 jsp Rel $
  175.